#ifndef __ARRAY__
#define __ARRAY__
#define false 0
#define true 1
#define elememtype int
typedef struct Array
{   
    elememtype *a;
    int size;
    int len;
}Array;

void FastSort(int *a,int start,int end);

int ReallocArray(Array *array);
void FreeArray(Array *array);
int Initialize(Array *array);
int InsertArray(Array *array,elememtype element);

void Trave(Array *array);
void ReTrave(elememtype *a,int len);
int InsertTail(Array *array,elememtype data);
int InsertHead(Array *array,elememtype data);
void InsertIndex(Array *array,elememtype data,int index);
int RemoveIndex(Array *array,int index);
void RemoveElement(Array *array,elememtype data);
elememtype FindIndex(Array *array,int index);
int *FindElement(Array *array,elememtype data);
int SetvalueIndex(Array *array,int index,elememtype data);
void  SetvaluElement(Array *array,elememtype data1,elememtype data2);
void FindIntersection(Array *array,Array *array1,Array *array2);
void Deduplication(Array *array);
void Deduplication2(Array *array);
void FindUnionSet(Array *array,Array *array1,Array *array2);
void MergeArray(Array *array,Array *array1,Array *array2);
#endif